home *** CD-ROM | disk | FTP | other *** search
/ Apple II Magazines (DO) / Softdisk Magazette Volume 2, No. 02 (1982-10)(Softdisk)(Side B).zip / Softdisk Magazette Volume 2, No. 02 (1982-10)(Softdisk)(Side B).do / BASIC PRINT DEMO.bas < prev    next >
BASIC Source File  |  1996-12-24  |  19KB  |  377 lines

  1. 20  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>        <CTRL-M>                <CTRL-M>          
  2. 100  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>         <CTRL-M>********************************<CTRL-M>PRINT FIELDS DEMO              <CTRL-M>             BY DAVE GARSON<CTRL-M>********************************<CTRL-M>   
  3. 200  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>         <CTRL-M>================================<CTRL-M>  PUBLIC SERVICE RESEARCH AND<CTRL-M>   COMPUTER LABORATORY, NORTH<CTRL-M>   CAROLINA STATE UNIVERSITY<CTRL-M>================================<CTRL-M>  
  4. 290  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>         <CTRL-M>                <CTRL-M>                                              
  5. 300  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>         <CTRL-M>********************************<CTRL-M>          INTRODUCTION<CTRL-M>********************************<CTRL-M> 
  6. 400  TEXT : HOME : VTAB 5
  7. 405 XX = 1
  8. 410 Q$ =  CHR$(34)
  9. 499  GOTO 1000
  10. 500  VTAB 24: INVERSE : PRINT "TYPE ANY KEY TO CONTINUE.";: NORMAL : CALL  -868: GET AN$: CALL  -998: HOME : RETURN 
  11. 600  VTAB 24: INVERSE : PRINT "TYPE ANY KEY TO SEE LINE EXECUTED";: NORMAL : GET AN$: CALL  -875: CALL  -998: RETURN 
  12. 1000  PRINT "THIS IS A DEMONSTRATION OF THE APPLE'S": PRINT 
  13. 1010  PRINT "PRINT COMMANDS."
  14. 1020  PRINT : PRINT : PRINT "CHOOSE WHICH LESSON:": PRINT 
  15. 1030  PRINT "1) THE BASIC PRINT STATEMENT
  16. 1040  PRINT "2) USING COMMAS   
  17. 1050  PRINT "3) USING SEMICOLONS   
  18. 1060  PRINT "4) USING TAB AND SPC
  19. 1070  PRINT "5) USING HTAB AND VTAB 
  20. 1080  PRINT "6) NORMAL, INVERSE, AND FLASH MODES"
  21. 1090  PRINT "7) RETURN TO MAIN MENU    
  22. 1100  PRINT : PRINT : INPUT "CHOOSE (1 TO 7):  ";A%
  23. 1110  ON A% GOSUB 2000,3000,4000,6000,7000,8000,9000
  24. 1120  GOTO 400
  25. 2000  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>          <CTRL-M>********************************<CTRL-M>   THE BASIC PRINT STATEMENT<CTRL-M>********************************<CTRL-M>   
  26. 2001  HOME : VTAB 4: PRINT "           T H E  B A S I C
  27. 2003  PRINT : PRINT "     P R I N T  S T A T E M E N T"
  28. 2005  PRINT "======================================="
  29. 2010  POKE 34,8
  30. 2015  PRINT : PRINT 
  31. 2020  PRINT "THE PRINT STATEMENT IS VERY SIMPLE."
  32. 2025  PRINT 
  33. 2030  PRINT "WHATEVER COMES AFTER THE WORD 'PRINT'"
  34. 2035  PRINT 
  35. 2040  PRINT "AND IN BETWEEN QUOTATION MARKS WILL BE"
  36. 2045  PRINT 
  37. 2050  PRINT "PRINTED ON THE SCREEN (OR PRINTER)."
  38. 2060  GOSUB 500
  39. 2070  PRINT "FOR EXAMPLE, THE FOLLOWING COMMAND WILL"
  40. 2080  PRINT : PRINT "PRINT THE WORDS "; CHR$(34);"HAIL TO THE CHIEF!"; CHR$(34);":"
  41. 2085  PRINT 
  42. 2090  PRINT : PRINT "100 PRINT "; CHR$(34);"HAIL TO THE CHIEF!"; CHR$(34)
  43. 2100  GOSUB 600
  44. 2105  VTAB 17: PRINT 
  45. 2110  VTAB 18: PRINT "HAIL TO THE CHIEF!"
  46. 2120  GOSUB 500
  47. 2200  PRINT "WELL...THERE  A  R  E  A COUPLE CATCHES."
  48. 2210  PRINT "THE MAIN CATCH IS THAT YOU CAN'T PRINT": PRINT 
  49. 2220  PRINT "DOUBLE QUOTE MARKS SINCE THE APPLE WILL": PRINT 
  50. 2230  PRINT "THINK THEY ARE BEGINNING OR ENDING ": PRINT 
  51. 2240  PRINT "SOMETHING ELSE YOU'RE TRYING TO PRINT."
  52. 2250  GOSUB 500
  53. 2260  PRINT "THE EASIEST WAY AROUND THIS IS TO USE"
  54. 2265  PRINT 
  55. 2270  PRINT "SINGLE QUOTE MARKS, AS IN THE FOLLOWING": PRINT 
  56. 2280  PRINT "COMMAND:"
  57. 2290  PRINT : PRINT : PRINT "100 PRINT"; CHR$(34);"HE SAID 'HAIL, CHIEF!'"; CHR$(34)
  58. 2300  GOSUB 600
  59. 2308  VTAB 19: PRINT 
  60. 2310  PRINT "HE SAID 'HAIL, CHIEF!'"
  61. 2320  GOSUB 500
  62. 2330  PRINT "THE OTHER WAY TO PRINT QUOTATION MARKS": PRINT 
  63. 2349  PRINT "IS USING THE 'CHR$(34)' COMMAND, BUT": PRINT 
  64. 2350  PRINT "WE'LL GET TO THAT IN ANOTHER LESSON."
  65. 2360  GOSUB 500
  66. 2370  PRINT "THE NORMAL APPLE SCREEN IS FORTY COLUMNS"
  67. 2380  PRINT "ACROSS, SO YOUR 'PRINT' LINE CAN HAVE": PRINT 
  68. 2390  PRINT "40 CHARACTERS TOO. ACTUALLY IT CAN HAVE"
  69. 2395  PRINT 
  70. 2400  PRINT "OVER 240 CHARACTERS, BUT IF YOU GO OVER"
  71. 2405  PRINT 
  72. 2410  PRINT "40 THEY'LL WRAP AROUND ONTO THE NEXT"
  73. 2420  PRINT : PRINT "LINE, TRUNCATING WORDS AWKWARDLY."
  74. 2440  GOSUB 500
  75. 2450  PRINT "FOR EXAMPLE, HERE'S WHAT A VERY LONG PRINT STATEMENT COMES OUT LIKE WHEN YOU DECIDE TO GO OVER FORTY CHARACTERS PER LINE....THOUGH, OF COURSE, BY USING SPACES CAREFULLY YOU COULD GET AWAY WITH IT."
  76. 2460  GOSUB 500
  77. 2470  PRINT "HERE'S A TIP ON KEEPING TRACK OF WHEN ": PRINT 
  78. 2480  PRINT "YOU GET UP TO 40 CHARACTERS: YOU'RE ": PRINT 
  79. 2490  PRINT "THERE WHEN YOUR ENDING QUOTE MARK IS "
  80. 2495  PRINT 
  81. 2500  PRINT "JUST BELOW YOUR BEGINNING QUOTE MARK:": PRINT 
  82. 2510  PRINT : PRINT 
  83. 2520  PRINT "100 PRINT "; CHR$(34);"THIS IS A TEST........................."; CHR$(34)
  84. 2530  GOSUB 500
  85. 2540  PRINT "YOU   C  A  N   GO ONE SPACE BEYOND THIS": PRINT 
  86. 2550  PRINT "BUT IT WILL CAUSE A BLANK LINE TO BE ": PRINT 
  87. 2560  PRINT "INSERTED AFTER THE ONE YOU'VE JUST ": PRINT 
  88. 2570  PRINT "ENTERED, LIKE IN THE FIRST LINE OF THIS"
  89. 2572  PRINT : PRINT "PARAGRAPH."
  90. 2580  GOSUB 500
  91. 2590  PRINT "ANOTHER TIP: THE '?' CHARACTER IS THE": PRINT 
  92. 2600  PRINT "APPLESOFT TOKEN FOR 'PRINT' SO YOU CAN": PRINT 
  93. 2610  PRINT "USE IT TO SPEED UP YOUR ENTRIES."
  94. 2620  PRINT : PRINT 
  95. 2625  PRINT 
  96. 2630  PRINT "100 ? "; CHR$(34);"HAIL CHIEF!"; CHR$(34)
  97. 2640  PRINT : PRINT "WHEN LISTED 'PRINT' WILL DISPLACE '?'"
  98. 2645  GOSUB 500
  99. 2650  PRINT "HERE'S A LITTLE TIME-SAVER:"
  100. 2660  PRINT : PRINT 
  101. 2670  PRINT "THERE IS NO NEED FOR AN ENDING QUOTE": PRINT 
  102. 2680  PRINT "MARK IF THE LAST CHARACTER IN THE QUOTE"
  103. 2690  PRINT : PRINT "IS THE LAST CHARACTER FOR THAT LINE:": PRINT : PRINT 
  104. 2700  PRINT "100 PRINT ";Q$;"LOOK MA, NO END QUOTE!"
  105. 2710  GOSUB 600: PRINT 
  106. 2720  VTAB 21: PRINT "LOOK MA, NO END QUOTE!"
  107. 2730  GOSUB 500
  108. 2740  PRINT "TWO FINAL NOTES!:": PRINT : PRINT 
  109. 2750  PRINT "1] 'PRINT' BY ITSELF CAUSES A BLANK LINE": PRINT "TO BE PRINTED (I.E., IT SKIPS A LINE).": PRINT 
  110. 2755  PRINT 
  111. 2758  VTAB 22: INVERSE : PRINT "TYPE ANY KEY TO CONTINUE.": NORMAL : GET AN$: VTAB 17: CALL  -958
  112. 2760  PRINT "2] 'SPEED=X', WHERE X = 0 TO 255, VARIES"
  113. 2770  SPEED= 0: PRINT "THE TEXT SPEED LIKE THIS.": SPEED= 255
  114. 2780  PRINT : PRINT "(255 IS NORMAL, 0 IS SLOWEST)."
  115. 2800  GOSUB 500
  116. 2999  RETURN 
  117. 3000  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>          <CTRL-M>********************************<CTRL-M>          USING COMMAS<CTRL-M>********************************<CTRL-M>  
  118. 3010  HOME : VTAB 2
  119. 3020  PRINT "       U S I N G    C O M M A S"
  120. 3030  PRINT "======================================="
  121. 3040  POKE 34,5
  122. 3050  VTAB 7: PRINT "THE APPLE HAS THREE PRINT FIELDS:": PRINT 
  123. 3060  PRINT "0000000001111111"
  124. 3065  PRINT "1234567890123456"
  125. 3070  PRINT "                0000000001111111"
  126. 3075  PRINT "                1234567890123456"
  127. 3080  PRINT "                                12345678"
  128. 3090  POKE 34,14
  129. 3100  FOR D = 1 TO 1000: NEXT 
  130. 3110  PRINT "TWO SIXTEEN-DIGIT FIELDS ARE LOCATED": PRINT 
  131. 3120  PRINT "AT COLUMNS 1 AND 17, AND A SMALL EIGHT-": PRINT 
  132. 3130  PRINT "DIGIT FIELD IS LOCATED AT COLUMN 33."
  133. 3140  GOSUB 500
  134. 3150  HOME : PRINT "THESE FIELDS ARE ACCESSED BY COMMAS IN": PRINT 
  135. 3160  PRINT "PRINT STATEMENTS. FOR EXAMPLE:": PRINT 
  136. 3170  PRINT "100 PRINT ";Q$;"HAIL";Q$;",";Q$;"CHIEF";Q$;",";Q$;"!";Q$
  137. 3180  GOSUB 600
  138. 3185  VTAB 19: PRINT 
  139. 3188  PRINT 
  140. 3190  PRINT "HAIL","CHIEF","!"
  141. 3200  GOSUB 500
  142. 3210  POKE 34,15
  143. 3230  PRINT "HERE'S ANOTHER EXAMPLE:": PRINT 
  144. 3233  PRINT "100 A=5: B=10:C=15": PRINT 
  145. 3234  PRINT "200 PRINT A,B,C"
  146. 3235 A = 5:B = 10:C = 15
  147. 3240  GOSUB 600
  148. 3245  VTAB 20: PRINT 
  149. 3250  PRINT A,B,C
  150. 3260  GOSUB 500
  151. 3265  POKE 34,5: HOME 
  152. 3270  PRINT "NOTICE THAT ONLY ONE 'PRINT' COMMAND": PRINT 
  153. 3280  PRINT "IS NECESSARY PER LINE. ALSO NOTICE THAT": PRINT 
  154. 3290  PRINT "NO QUOTES ARE NECESSARY AROUND VARI-"
  155. 3300  PRINT : PRINT "ABLES (E.G., A, B, C), ONLY AROUND": PRINT 
  156. 3310  PRINT "STRINGS (I.E., WORDS AND PUNCTUATION)."
  157. 3320  PRINT : PRINT : PRINT "100 PRINT A,B,C"
  158. 3325  PRINT 
  159. 3330  PRINT "200 PRINT ";Q$;"HAIL";Q$;",";Q$;"CHIEF";Q$;",";Q$;"!";Q$
  160. 3340  GOSUB 500
  161. 3999  RETURN 
  162. 4000  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>          <CTRL-M>********************************<CTRL-M>        USING SEMICOLONS<CTRL-M>********************************<CTRL-M>      
  163. 4002  HOME : VTAB 2
  164. 4004  PRINT "   U S I N G   S E M I - C 0 L O N S"
  165. 4006  PRINT "======================================="
  166. 4008  POKE 34,5
  167. 4009  PRINT : PRINT 
  168. 4010  PRINT "THE SEMI-COLON CAUSES THE APPLE TO"
  169. 4020  PRINT : PRINT "DISREGARD THE PRINT FIELDS AND THIS": PRINT 
  170. 4030  PRINT "CAUSES WHATEVER IS PRINTED NEXT TO ": PRINT 
  171. 4040  PRINT "FOLLOW IMMEDIATELY."
  172. 4050  FOR D = 1 TO 2500: NEXT 
  173. 4055  PRINT : PRINT 
  174. 4060  PRINT "IN OTHER WORDS, THE ';' CAUSES ": PRINT 
  175. 4070  PRINT "PRINTING TO BE COMPRESSED."
  176. 4075  PRINT : PRINT 
  177. 4080  GOSUB 500
  178. 4100  PRINT "FOR EXAMPLE, LET'S TAKE THE TWO PREVIOUS"
  179. 4110  PRINT "EXAMPLES:": PRINT : PRINT 
  180. 4115  POKE 34,8: PRINT 
  181. 4120  PRINT "100 PRINT "Q$;"HAIL";Q$;";"Q$;"CHIEF";Q$;";";Q$;"!";Q$
  182. 4130  GOSUB 600
  183. 4140  PRINT : VTAB 14: PRINT "HAILCHIEF!"
  184. 4150  GOSUB 500
  185. 4170  VTAB 13: PRINT "100 A=5:B=10 :C=15": PRINT 
  186. 4180  PRINT "200 PRINT A;B;C"
  187. 4190  GOSUB 600
  188. 4200  VTAB 16: PRINT : PRINT "51015"
  189. 4210  GOSUB 500
  190. 4220  POKE 34,5: HOME 
  191. 4230  PRINT "NOTICE THE SEMI-COLON WILL CAUSE THE "
  192. 4240  PRINT : PRINT "NEXT PRINT TO BE IMMEDIATE EVEN IF THE": PRINT 
  193. 4250  PRINT "NEXT PRINT COMMAND IS IN A LATER LINE:": PRINT : PRINT 
  194. 4260  PRINT "100 PRINT ";Q$;"HAIL";Q$;";"
  195. 4265  PRINT 
  196. 4270  PRINT "200 REM - INTERVENING LINES": PRINT 
  197. 4280  PRINT "300 PRINT ";Q$;"CHIEF!";Q$
  198. 4290  GOSUB 600: PRINT 
  199. 4300  VTAB 20: PRINT "HAILCHIEF!"
  200. 4310  GOSUB 500
  201. 4999  RETURN 
  202. 5001  REM 
  203. 6000  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>          <CTRL-M>********************************<CTRL-M>          TAB AND SPC<CTRL-M>********************************<CTRL-M>  
  204. 6001  HOME : VTAB 2: PRINT "      T H E  T A B  C O M M A N D"
  205. 6010  PRINT "======================================="
  206. 6020  POKE 34,5
  207. 6030  PRINT : PRINT 
  208. 6040  PRINT "THE 'TAB' COMMAND..."
  209. 6045  PRINT 
  210. 6050  PRINT "   1) ALWAYS USED WITH A 'PRINT' COMMAND
  211. 6060  PRINT "   2) ALWAYS FOLLOWED BY A PARENTHESIS  
  212. 6070  PRINT "   3) THE NUMBER IN THE PARENTHESIS IS": PRINT 
  213. 6080  PRINT "   ALWAYS IN THE RANGE 0 THROUGH 255": PRINT 
  214. 6090  PRINT : PRINT "THE 'TAB' FEATURE IS USED TO SPACE TO": PRINT 
  215. 6100  PRINT "THE RIGHT AND DOWN FROM THE CURRENT": PRINT 
  216. 6110  PRINT "CURSOR POSITION. IT NEVER GOES LEFT."
  217. 6120  GOSUB 500
  218. 6130  PRINT : PRINT "FOR EXAMPLE, WATCH THE FOLLOWING LINE:": PRINT : PRINT 
  219. 6140  PRINT "100 PRINT TAB (19);";Q$;"<-- 19TH COLUMN";Q$
  220. 6150  GOSUB 600: PRINT 
  221. 6160  VTAB 12: PRINT  TAB( 19);"<-- 19TH COLUMN"
  222. 6170  PRINT : PRINT 
  223. 6180  PRINT : PRINT "NOTE THAT THE '<' IS IN THE 19TH SPACE."
  224. 6190  PRINT : PRINT "ALSO NOTE THE SEQUENCE:"
  225. 6200  PRINT : PRINT "     PRINT/TAB(#)/SEMI-COLON/QUOTE"
  226. 6210  GOSUB 500
  227. 6220  PRINT "THE 'TAB' FEATURE LETS YOU SKIP TO OTHER"
  228. 6230  PRINT "POSITIONS ON THE SCREEN BESIDES JUST THE
  229. 6240  PRINT "START OF THE PRINT FIELDS.............."
  230. 6250  PRINT : PRINT "UNLIKE A TYPEWRITER, THE NUMBER YOU TAB": PRINT 
  231. 6260  PRINT "OVER IS THE NUMBER FROM THE LEFT SIDE -": PRINT 
  232. 6270  PRINT "NOT THE NUMBER FROM THE PRESENT CURSOR": PRINT 
  233. 6280  PRINT "POSITION. IF THE CURSOR IS AT COLUMN 9,"
  234. 6290  PRINT : PRINT "FOR EXAMPLE, AND YOU EXECUTE A TAB(7),": PRINT 
  235. 6300  PRINT "NO TABBING WILL OCCUR!"
  236. 6310  GOSUB 500
  237. 6320  PRINT "ANYTHING FROM TAB(1) TO TAB(255) JUST": PRINT 
  238. 6330  PRINT "TABS OVER (AND DOWN, IF NECESSARY) THAT": PRINT 
  239. 6340  PRINT "NUMBER OF SPACES.": PRINT : PRINT 
  240. 6350  PRINT "TAB(0), HOWEVER, ACTUALLY CARRIES YOU ": PRINT 
  241. 6360  PRINT "TO THE 256TH SPACE, ERASING EVERYTHING": PRINT 
  242. 6370  PRINT "IN BETWEEN."
  243. 6380  GOSUB 500
  244. 6390  PRINT "FOR EXAMPLE:": PRINT : PRINT 
  245. 6400  PRINT "100 PRINT ";Q$;"FIRST";Q$;"; TAB( 0);";Q$;"M";Q$
  246. 6440  GOSUB 600: PRINT 
  247. 6445  VTAB 11
  248. 6450  PRINT "FIRST"; TAB( 0);"LAST"
  249. 6455  PRINT : PRINT "THE 'L' IN 'LAST' STARTS 256 SPACES ON."
  250. 6480  GOSUB 500
  251. 6490  PRINT : PRINT "THE TAB(0) FEATURE WILL ERASE INTER-": PRINT 
  252. 6500  PRINT "VENING MATERIAL WHICH CAN BE PUT THERE": PRINT 
  253. 6510  PRINT "BY VTAB OR HTAB, DISCUSSED NEXT."
  254. 6520  GOSUB 500
  255. 6600  PRINT "'SPC'  (FOR 'SPACE') IS AN ALTERNATIVE": PRINT 
  256. 6610  PRINT "TO 'TAB.' IT SIMPLY CAUSES THE PRINTER": PRINT 
  257. 6620  PRINT "TO PRINT A GIVEN NUMBER OF SPACES.": PRINT : PRINT 
  258. 6630  PRINT "FOR EXAMPLE:": PRINT 
  259. 6640  PRINT "100 PRINT ";Q$;"WATCH";Q$;";SPC(8);";Q$;"OUT!";Q$
  260. 6650  GOSUB 600: PRINT 
  261. 6655  VTAB 18
  262. 6660  PRINT "WATCH"; SPC( 8);"OUT!"
  263. 6990  GOSUB 500
  264. 6999  RETURN 
  265. 7000  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>          <CTRL-M>********************************<CTRL-M>         HTAB AND VTAB<CTRL-M>********************************<CTRL-M> 
  266. 7001  TEXT : HOME : VTAB 6: PRINT "BY USING 'HTAB' AND 'VTAB' ONE CAN MOVE": PRINT : PRINT "THE CURSOR ANYWHERE ON THE SCREEN.": PRINT : PRINT 
  267. 7002  PRINT "LETS LOOK AT THIS SCREEN, WHICH IS 40": PRINT : PRINT "COLUMNS BY 24 ROWS:": GOSUB 500
  268. 7003  HOME : NORMAL : FOR I = 1 TO 39:A$ = A$ + CHR$(95): NEXT : FOR I = 1 TO 24: VTAB I: HTAB 1: PRINT A$;: NEXT : INVERSE : FOR X = 2 TO 23: FOR Y = 5 TO 40  STEP 5: VTAB X: HTAB Y: PRINT  LEFT$(A$,1);: NEXT : NEXT 
  269. 7004  FOR Y = 1 TO 24  STEP 23: FOR I = 5 TO 35 +5 *(Y = 1)  STEP 5: VTAB Y: HTAB I -(I >9): PRINT I;: NEXT : NEXT : NORMAL : FOR I = 1 TO 24: VTAB I: HTAB 1: PRINT I;: NEXT : POKE 2038,52: POKE 2039,48: INVERSE : GOSUB 500
  270. 7005  PRINT : PRINT "      H T A B   A N D   V T A B"
  271. 7007  PRINT "======================================="
  272. 7010  POKE 34,5: PRINT : PRINT 
  273. 7020  PRINT "THE 'HTAB' AND 'VTAB' COMMANDS....": PRINT 
  274. 7030  PRINT "   1) DON'T HAVE TO FOLLOW A 'PRINT'
  275. 7040  PRINT : PRINT "   2) DO ABSOLUTE MOVES, INCLUDING LEFT": PRINT 
  276. 7050  PRINT "   AND UP (I.E., ANYWHERE ON SCREEN)": PRINT 
  277. 7060  PRINT "   3) TREAT THE TEXT WINDOW DIFFERENTLY": PRINT 
  278. 7065  PRINT "   (TEXT WINDOWS ARE TREATED LATER IN ": PRINT 
  279. 7070  PRINT "   THE TUTORIAL - THEY ARE TEXT AREAS": PRINT 
  280. 7080  PRINT "   DEFINED WITHIN THE WHOLE SCREEN.)"
  281. 7110  GOSUB 500
  282. 7120  PRINT "LIKE TAB, HTAB CAN BE SET FOR 1 TO 255 ": PRINT 
  283. 7130  PRINT "SPACES, WITH '0' MOVING THE CURSOR TO": PRINT 
  284. 7140  PRINT "POSITION 256."
  285. 7150  PRINT : PRINT : PRINT "UNLIKE TAB, HOWEVER, HTAB DOESN'T NEED": PRINT 
  286. 7160  PRINT "TO BE FOLLOWED BY PARENTHESES:": PRINT 
  287. 7170  PRINT : PRINT "100 HTAB 16:PRINT ";Q$;"HELLO!";Q$
  288. 7180  GOSUB 600: PRINT 
  289. 7190  VTAB 21: HTAB 16: PRINT "HELLO!"
  290. 7200  GOSUB 500
  291. 7210  PRINT "NOTE THAT HTAB TABS OVER FROM THE ": PRINT 
  292. 7220  PRINT "LEFT EDGE OF THE CURRENT SCREEN LINE": PRINT 
  293. 7230  PRINT "(USUALLY THE LEFT TEXT WINDOW EDGE), AND"
  294. 7240  PRINT "PUTS POSITIONS 1 TO 40 ON THE CURRENT": PRINT 
  295. 7250  PRINT "LINE, 41 TO 80 ON THE NEXT, ETC.": PRINT : PRINT 
  296. 7260  PRINT "THIS MEANS THAT WHEN THE LEFT EDGE IS": PRINT 
  297. 7270  PRINT "NOT SET TO BE AT COLUMN 1, IT'S POSSIBLE"
  298. 7280  PRINT "TO HTAB RIGHT OFF THE SCREEN!"
  299. 7300  GOSUB 500
  300. 7310  PRINT "'VTAB' IS AN ABSOLUTE COMMAND TO MOVE": PRINT 
  301. 7320  PRINT "TO THE STATED LINE ON THE APPLE'S": PRINT 
  302. 7330  PRINT "24-LINE SCREEN: VTAB 13, FOR EXAMPLE,": PRINT 
  303. 7340  PRINT "MOVES THE CURSOR TO THE BEGINNING OF"
  304. 7350  PRINT : PRINT "THE 13TH LINE. VTAB-ING OVER 24 CAUSES": PRINT 
  305. 7360  PRINT "AN ERROR MESSAGE.": PRINT : PRINT 
  306. 7370  PRINT "VTAB IGNORES THE TEXT WINDOW ENTIRELY."
  307. 7990  GOSUB 500
  308. 7999  RETURN 
  309. 8000  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>          <CTRL-M>********************************<CTRL-M>   NORMAL, INVERSE, AND FLASH<CTRL-M>             MODES<CTRL-M>********************************<CTRL-M>   
  310. 8002  HOME : VTAB 2: PRINT "   NORMAL, INVERSE, AND FLASH MODES"
  311. 8004  PRINT "======================================="
  312. 8006  POKE 34,5: PRINT : PRINT 
  313. 8010  PRINT "'INVERSE' IS A COMMAND CAUSING BLACK-ON": PRINT 
  314. 8020  PRINT "WHITE OUTPUT:": PRINT 
  315. 8030  PRINT "  100 INVERSE:? ";Q$;"THIS IS INVERSE";Q$;":NORMAL"
  316. 8040  GOSUB 600: PRINT 
  317. 8045  VTAB 13
  318. 8050  INVERSE : PRINT "THIS IS INVERSE": NORMAL 
  319. 8052  GOSUB 500
  320. 8055  PRINT : PRINT "'FLASH' CAN BE USED THE SAME WAY FOR THE"
  321. 8060  PRINT "OBVIOUS PURPOSE. IN EACH CASE 'NORMAL'": PRINT 
  322. 8070  PRINT "PUTS OUTPUT BACK TO WHITE-ON-BLACK."
  323. 8080  VTAB 15: PRINT "  100 FLASH : PRINT ";Q$;"THIS IS FLASH MODE";Q$;":NORMAL"
  324. 8090  GOSUB 600: PRINT 
  325. 8100  VTAB 18: FLASH : PRINT "THIS IS FLASH MODE": NORMAL 
  326. 8110  GOSUB 500
  327. 8120  PRINT : PRINT "HERE IS AN ALTERNATIVE FLASH ROUTINE:": PRINT : PRINT 
  328. 8130  PRINT "10 VTAB 17": PRINT "20 PRINT "; CHR$(34);"NORMAL/       /NORMAL FLASH"; CHR$(34)
  329. 8140  PRINT "30 FOR DLAY=1 TO 250:NEXT"
  330. 8150  PRINT "40 VTAB 17"
  331. 8160  PRINT "50 PRINT "; CHR$(34);"NORMAL/NOTHING/NORMAL FLASH"; CHR$(34)
  332. 8165  PRINT "60 FOR DLAY = 1 TO 400:NEXT"
  333. 8170  PRINT : PRINT "LOOP THROUGH THIS ROUTINE AS OFTEN AS": PRINT : PRINT "YOU WISH.": GOSUB 600
  334. 8180  PRINT : PRINT 
  335. 8200  FOR LOOP = 1 TO 10
  336. 8230  VTAB 17: PRINT "NORMAL/       /NORMAL"
  337. 8240  FOR DLAY = 1 TO 250: NEXT 
  338. 8250  VTAB 17
  339. 8260  PRINT "NORMAL/NOTHING/NORMAL"
  340. 8270  FOR DLAY = 1 TO 400: NEXT 
  341. 8280  NEXT 
  342. 8990  GOSUB 500
  343. 8999  RETURN 
  344. 9000  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>          <CTRL-M>********************************<CTRL-M>   CHAIN BACK TO MAIN PROGRAM<CTRL-M>********************************<CTRL-M>   
  345. 9010  TEXT : HOME : VTAB 11
  346. 9020  PRINT "THANK YOU FOR WATCHING."
  347. 9030  PRINT : PRINT : PRINT "(LOADING MAIN MENU)"
  348. 9040  PRINT  CHR$(4);"RUN MENU"
  349. 9050  CALL 520"MAIN MENU"
  350. 63000  HOME : PRINT "REMARK WRITER/FORMATTER   BY JON VOSKUIL"
  351. 63010 B$ =  CHR$(8):C$ =  CHR$(95)
  352. 63020  VTAB 5: PRINT "LINE #:": PRINT : GOSUB 63190
  353. 63030 LN =  VAL(R$): IF LN <0  OR LN >62999  THEN 63020
  354. 63040  VTAB 10: PRINT "REMARK:": PRINT : GOSUB 63190
  355. 63050 L =  LEN(R$):PART = 1
  356. 63060  IF L <32  THEN R$(PART) = R$: GOTO 63120
  357. 63070 I = 32
  358. 63080  IF  MID$ (R$,I,1) = " "  THEN BRK = I: GOTO 63110
  359. 63090 I = I -1: IF I >0  THEN 63080
  360. 63100 BRK = 32:L = L +1
  361. 63110 R$(PART) =  LEFT$(R$,BRK -1):PART = PART +1:L = L -BRK:R$ =  RIGHT$(R$,L): GOTO 63060
  362. 63120  VTAB 20: PRINT "BORDER CHARACTER ('RETURN' FOR NONE):": PRINT : GOSUB 63190: IF  LEN(R$) >1  THEN 63120
  363. 63130  HOME : VTAB 8: PRINT " ";LN;" REM";
  364. 63140 N = 7 +(LN >9) +(LN >99) +(LN >999) +(LN >9999)
  365. 63150  INVERSE : FOR I = 1 TO N: PRINT "H";: NEXT I: NORMAL 
  366. 63160  PRINT  SPC( N);: INVERSE : PRINT "M";: NORMAL : IF R$ < >""  THEN  FOR I = 1 TO 32: PRINT R$;: NEXT I: INVERSE : PRINT "M";: NORMAL 
  367. 63170  FOR I = 1 TO PART: PRINT  SPC( 16 - LEN(R$(I))/2);R$(I);: INVERSE : PRINT "M";: NORMAL : NEXT I: IF R$ < >""  THEN  FOR I = 1 TO 32: PRINT R$;: NEXT I: INVERSE : PRINT "M";: NORMAL 
  368. 63180  VTAB 3: HTAB 1: PRINT "COPY WITH RIGHT ARROW:": VTAB 7: END 
  369. 63190  POKE  -16368,0: PRINT C$;B$;:R$ = ""
  370. 63200 C =  PEEK( -16384): IF C >127  THEN 63240
  371. 63210 T = T +1: IF T <5  THEN 63200
  372. 63220  IF F  THEN  PRINT " ";B$;:F = 0:T = 0: GOTO 63200
  373. 63230  PRINT C$;B$;:F = 1:T = 0: GOTO 63200
  374. 63240  POKE  -16368,0:C = C -128: IF C = 13  THEN  PRINT " ": RETURN 
  375. 63250  IF C < >8  THEN  PRINT  CHR$(C);C$;B$;:R$ = R$ + CHR$(C): GOTO 63200
  376. 63260  IF R$ >""  THEN  PRINT " ";B$;B$;C$;B$;: IF  LEN(R$) >1  THEN R$ =  LEFT$(R$, LEN(R$) -1): GOTO 63200
  377. 63270 R$ = "": GOTO 63200